Video displays normally have color adjustment controls for hue and saturation. The hue control adjusts the tint and the saturation control adjusts the color richness of the display. These controls are global in the sense that they affect all the display pixels.
For applications such as skin tone adjustment, global color controls cannot be applied. These applications require local modification of a small subset of colors in the color space without affecting the other colors.
Local color modifications in display devices can be implemented by a mapping table that specifies an output color for every input color. This would be feasible if the set of all possible colors was reasonably small. However, a standard 24-bit RGB display device would need to map approximately 16 million different colors. The map, also known as a look-up table (LUT), would require 48 Mbytes of memory storage. Considering the cost of a 48 Mbyte lookup table implemented either in hardware or in software, this solution is not practical. Using a luma-chroma color space such as YUV, YPrPb etc. is a better solution because the colors are then represented by a subset of the components. The standard 8-bit resolution for U and V would require 128 Kbytes for the color map. This is still a very large memory for hardware implementations.
A more practical solution approximates the theoretical map by sampling the color space with a regular grid.
FIG. 1 is an example of a 4×4 sampling grid 10. The output values at the grid 10 intersections are stored in a table. A specific color will map to a unique coordinate within the grid. In general, the coordinate will not coincide with a grid vertex. An output value related to the coordinate is then calculated as an interpolation of the nearest output values, i.e. the values stored at the nearest grid vertices.
Sampling a space with a finer grid allows better control over the map because of the higher resolution, but at the cost of higher memory usage. A coarser grid saves memory at the expense of color resolution.
What is needed, therefore is a solution that approximates the theoretical mapping table as closely as possible without requiring an impractical amount of memory. Real-life applications such as skin tone adjustment concentrate on a small region of the full color space. Therefore high-resolution mapping is only required in a small subset of the color space. The present invention addresses such a need.